The generator matrix

 1  1  1  1  1  1  1  1  1  1  1  1  1  1  1  1  1  1  1  1  1  1  1  1  1  1  1  1
 0  X  0  0  0  0  0  X  0  0  0  X  X  0  X  X  0  0  0  0  X  X  0  0  X  X  X  X
 0  0  X  0  0  0  0  X  0  0  X  X  0  X  X  0  0  X  0  X  X  0  0  X  X  X  0  0
 0  0  0  X  0  0  0  X  0  X  X  0  0  X  0  X  0  0  0  0  X  X  X  X  0  X  X  0
 0  0  0  0  X  0  0  X  0  X  0  0  X  X  X  0  X  0  X  0  X  0  X  0  0  0  X  X
 0  0  0  0  0  X  0  X  X  0  0  0  X  X  0  X  X  0  0  X  0  X  0  X  X  X  0  0
 0  0  0  0  0  0  X  X  X  0  X  0  0  0  X  X  0  X  X  0  X  0  X  0  X  0  X  0

generates a code of length 28 over Z2[X]/(X^2) who�s minimum homogenous weight is 24.

Homogenous weight enumerator: w(x)=1x^0+63x^24+128x^28+63x^32+1x^56

The gray image is a linear code over GF(2) with n=56, k=8 and d=24.
As d=24 is an upper bound for linear (56,8,2)-codes, this code is optimal over Z2[X]/(X^2) for dimension 8.
This code was found by Heurico 1.16 in 0.533 seconds.